万卷网> GESP认证 >Python > 2025年12月CCF—GESP(Python四级)编程能力等级认证试卷

2025年12月CCF—GESP(Python四级)编程能力等级认证试卷
四级 2025 2026-07-18 14:24:17 65

一、单选题

1.

执行以下Python代码后,其输出是? ( )

a = [1, 2, [3, 4]]
b = a[:]
b[0] = 10
b[2][0] = 30
print(a)
A.

[1, 2, [3, 4]]

B.

[10, 2, [30, 4]]

C.

[1, 2, [30, 4]]

D.

[10, 2, [3, 4]]

2.

以下Python代码的时间复杂度是? ( )

def func(n):
    i = 0
    while i < n:
        i += 1
A.

O(1)

B.

O(nlogn)

C.

D.

3.

小杨最近为了备考GESP,开始看网络上关于网络知识的视频。其中提到计算机网络系统有不同的划分标准,其中之一就是按照地理覆盖的范围来划分。那他平时上学所在的教学楼内的网络是一个( )。

A.

PAN(个人局域网)

B.

LAN(局域网)

C.

MAN(城域网)

D.

WAN(广域网)

4.

执行以下Python代码后,输出的结果是? ( )

def modify(s):
    s = s.upper()
    return sprint(text)
A.

hello

B.

HELLO

C.

None

D.

报错

5.

执行以下Python代码,如果文件data.txt不存在,输出结果是? ( )

try:
    with open('data.txt', 'r') as f:
        content = f.read()
    print("File read successfully.")
except FileNotFoundError:
    print("File not found.")
except Exception as e:
    print("An error occurred : ", e)
A.

File read successfully.

B.

File not found.

C.

An error occurred : ...

D.

没有任何输出

6.

近日,空中客车公司表示,约6000架空客A320系列飞机需要紧急更换一种易受太阳辐射影响的飞行控制软件。空客表示,在对一起飞行事故进行分析后,表明强烈的太阳辐射可能会损坏飞行控制系统所需的关键数据,导致判断失误,进而可能引发飞行异常。在这里的飞行控制系统中,执行判断的部件最可能是下面的( )。

A.

辐射传感器

B.

处理器

C.

内存单元

D.

输出设备

7.

对于列表 my_list = [['a', 'b'], 1, 2] ,执行哪项操作可以生成新列表 ['a', 'b', 'c']?

A.

new_list = my_list[0].append('c')

B.

new_list = my_list[0] + ['c']

C.

new_list = my_list[0].extend(['c'])

D.

new_list = my_list.pop(0).append('c')

8.

关于Python中全局变量与局部变量的描述,以下哪一项是错误的? ( )

A.

局部变量在函数退出后失效

B.

函数内需用 global 声明才能修改全局变量

C.

全局变量不能和局部变量重名

D.

使用 nonlocal 关键字可以在嵌套函数中修改其直接外层(非全局)作用域中的变量

9.

执行以下Python代码,输出结果是?

items = [("book", 20), ("pen", 5), ("bag", 30)]
sorted_items = sorted(items, key=lambda x: x[1], reverse=True)
print(sorted_items[0])
A.

("book", 20)

B.

("pen", 5)

C.

("bag", 30)

D.

30

10.

在Python中,以下哪个选项可以正确地读取一个二进制文件并打印其内容? ( )

A.

with open('image.bmp', 'r') as f: print(f.read())

B.

with open('image.bmp', 'w') as f: print(f.read())

C.

with open('image.bmp', 'a') as f: print(f.read())

D.

with open('image.bmp', 'rb') as f: print(f.read())

11.

执行以下Python代码后,输出的结果是? ( )

with open('test.txt', 'w') as f:
    f.write('Hello')
with open('test.txt', 'a') as f:
    f.write('World')
with open('test.txt', 'r') as f:
    print(f.read())
A.

Hello

B.

World

C.

HelloWorld

D.

WorldHello

12.

执行以下Python代码后,输出的结果是? ( )

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
result = [matrix[i][i] for i in range(len(matrix))]
print(result)
A.

[1, 2, 3]

B.

[1, 5, 9]

C.

[3, 5, 7]

D.

[1, 4, 7]

13.

执行下面Python代码时,哪条调用会报错? ( )

def func(*args, **kwargs):
    print(args, kwargs)
A.

func(1, 2, x=3, y=4)

B.

func(a=1, b=2, 3, 4)

C.

func(1, 2, [3, 4])

D.

func(*[1, 2], **{'x': 3})

14.

下面程序空白处填上哪些内容可以实现程序的由小到大排序功能? ( )

def selection_sort(arr):
    n = len(arr)
    for i in range(n-1):
        min_index = i    # 初始化最小索引
        for j in range(i+1, n):
            if arr[j] < arr[min_index]:
                # 填写代码 ①
                # 填写代码 ②
A.

① min_index = j ② arr[i], arr[min_index] = arr[min_index], arr[i]

B.

① min_index = i ② arr[i], arr[j] = arr[j], arr[i]

C.

① j = min_index ② arr[min_index], arr[i] = arr[i], arr[min_index]

D.

① min_index = j ② arr[j], arr[i] = arr[i], arr[j]

15.

执行以下Python代码后,输出的结果是? ( )

def func(*args):
    return sum(args)
print(func(1, 2, *[3, 4]))
A.

10

B.

6

C.

7

D.

报错

二、判断题

1.

在Python中,readline() 方法每次读取文件的下一行内容,包括行尾的换行符。如果已到文件末尾,则返回一个空字符串。 ( )

A.正确 B.错误
2.

执行下面Python代码后,输出的结果为 [0 ] 。 ( )

A.正确 B.错误
3.

执行以下Python代码后,输出结果是 True 。 ( )

def func(lst=[]):
    lst.append(1)
    return lst
print(func() is func())
A.正确 B.错误
4.

鸿蒙是华为公司开发的一款操作系统,那么它能够将正确的源程序翻译成目标程序,并运行。 ( )

A.正确 B.错误
5.

执行对应Python代码后,输出结果是 ( [1 , 2 ] , 3) 。 ( )

A.正确 B.错误
6.

执行以下Python代码后,输出结果是 15 。 ( )

def create_multiplier(n):
    return lambda x: x * n
mult = create_multiplier(3)
print(mult(5))
A.正确 B.错误
7.

选择排序算法是不稳定的,而插入排序算法是稳定的。 ( )

A.正确 B.错误
8.

执行下面Python代码会抛出 TypeError 异常。 ( )

A.正确 B.错误
9.

以下程序中使用了递推方式计算阶乘( n! = 1 x 2 x … x n),计算结果正确。 ( )

def factorial(n):
    res = 1
    for i in range(n + 1):
        res *= i
    return res
A.正确 B.错误
10.

使用解析式 {x: y for x in range(2) for y in range(2)} 可以创建一个包含4个键值对的字典。 ( )

A.正确 B.错误

三、编程题

1.

建造
题目描述
小 A 有一张 M 行 N 列的地形图,其中第 i 行第j 列的数字 aij 代表坐标 (i, j) 的海拔高度。停机坪为一个 3 x 3 的区域且内部所有 9 个点的最大高度和最小高度之差不超过 H。
小 A 想请你计算出,在所有适合建造停机坪的区域中,区域内部9个点海拔之和最大是多少。
输入格式
第一行三个正整数 M, N, H ,含义如题面所示。
之后 M 行,第 i 行包含 N 个整数 ai1, ai2, · · · , aiN ,代表坐标 (i, j) 的高度。数据保证总存在一个适合建造停机坪的区域。
输出格式
输出一行,代表最大的海拔之和。
数据范围
对于所有测试点,保证 1 ≤ M, N ≤ 10³ , 1 ≤ H, aij ≤ 10⁵。

2.

优先购买
题目描述
小 A 有 M 元预算。商店有 N 个商品,每个商品有商品名 S、价格 P 和优先级 V 三种属性,其中 V 为正整数,且越小代表商品的优先级越高。
小 A 的购物策略为:
1. 总是优先买优先级最高的东西;
2. 如果有多个最高优先级商品,购买价格最低的;
3. 如果有多个优先级最高且价格最低的商品,购买商品名字典序最小的。
小 A 想知道能购买哪些商品。
输入格式
第一行两个正整数 M, N ,代表预算和商品数。
之后 N 行,每行一个商品,依次为 si pi vi ,代表第 i 个商品的商品名、价格、优先级。
数据保证不存在两个名字相同的商品。
输出格式
按照字典序从小到大的顺序,输出所有购买商品的商品名。
输入样例

20  4
apple  6  8
bus  15  1
cab  1  10
water  4  8

输出样例

bus
cab
water

数据范围

对于所有测试点,保证 1 ≤ len(S) ≤ 10, 1 ≤ M, P ≤ 10⁵ , 1 ≤ N ≤ 10³ , 1 ≤ vi ≤ 10 。商品名仅由小写字母组成且不存在两个相同的商品名。

公众号
客服 反馈
顶部